package com.tensquare.dao;

import com.tensquare.entity.PageResult;
import com.tensquare.entity.Problem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ProblemDao {

    /**
     * 根据标签id查询最新问题列表
     * @param labelId
     * @param pageResult
     * @return
     */
    List<Problem> findNewListByLabelId(@Param("labelId") String labelId, @Param("pageResult") PageResult pageResult);

    /**
     * 根据标签id查询最新热门问题列表，按回复数降序排序
     * @param labelId
     * @param pageResult
     * @return
     */
    List<Problem> findHotListByLabelId(@Param("labelId") String labelId, @Param("pageResult") PageResult pageResult);

    /**
     * 根据标签id查询等待回答的问题，按创建时间降序排序
     * @param labelId
     * @param pageResult
     * @return
     */
    List<Problem> findWaitListByLabelId(@Param("labelId") String labelId, @Param("pageResult") PageResult pageResult);


    void add(Problem problem);
}
